home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / memory / veum.zip / VEC.ASM < prev    next >
Assembly Source File  |  1987-01-19  |  1KB  |  68 lines

  1.         TITLE        VEC--Vector Handler 
  2.  
  3.     if1
  4.         include    prolog.mac
  5.         endif
  6.  
  7. pgroup        group        prog
  8. dgroup        group        data
  9.         assume        cs:pgroup, ds:dgroup, es:dgroup
  10.  
  11. prog        segment        byte public 'PROG'
  12.  
  13.         public        vecchk
  14. ;
  15. ;    int vecchk()
  16. ;
  17. ;    return nonzero if int 67H vector is in use.
  18. ;
  19. vecchk        proc        near
  20.         prolog
  21.         xor        ax,ax        ; return(0) if no int 67h there
  22.         call        vec_chk
  23.         jc        ret1        ; there - return(1) 
  24. emvr:        epilog
  25.         ret
  26.  
  27. ret1:        mov        ax,1
  28.         jmp        emvr
  29. vecchk        endp
  30.  
  31. ;
  32. ;  GET INTERUPT VECTOR TECHNIQUE
  33. ;
  34. ;  Function:   Used to determine if int 67h is installed in the system.
  35. ;           Carry flag is set upon return if no 67h vector is present.    
  36. ;
  37. ;  No registers destroyed;
  38. ;
  39. vec_chk        proc           near
  40.  
  41.                push        ax
  42.                push        es
  43.                push        ds        ; 3 words - saved registers
  44.  
  45.                push        cs        ; 4th word - copy register
  46.                pop        ds
  47.  
  48.                mov        ax,3567h    ; "DOS: Get Vector, 67H please"
  49.                int        21h
  50.  
  51.         mov        ax,es
  52.         or        ax,bx        ; is es:bx == 0L ?
  53.         jz        retvck        ; if so, Z set, C reset, -> go
  54.         stc                ; else set C flag for return.
  55. retvck:               pop        ds        ; restore 3 words saved regs
  56.                       pop        es
  57.                       pop        ax
  58.                       ret
  59.  
  60. vec_chk               endp
  61.  
  62. prog               ends    
  63.  
  64. data        segment        word public 'DATA'
  65. data        ends
  66.  
  67.                end
  68.